import request from '@/utils/request'

/**
 * 获取防护设施数据
 * @param {string} protectionType - 防护类型：aircraft/oil/ammunition/parking
 * @returns {Promise} 返回防护设施数据
 */
export function getProtectionData(protectionType) {
  return request({
    url: '/api/protection/query',
    method: 'get',
    params: { protectionType }
  })
}

/**
 * 获取多种防护设施数据
 * @param {Array<string>} protectionTypes - 防护类型列表：['aircraft', 'oil', 'ammunition', 'parking']
 * @returns {Promise} 返回包含多种防护设施数据的对象
 */
export function getMultiProtectionData(protectionTypes) {
  // 创建所有请求的数组
  const requests = protectionTypes.map(type => 
    request({
      url: '/api/protection/query',
      method: 'get',
      params: { protectionType: type }
    })
  )
  
  // 并行请求所有数据
  return Promise.all(requests)
    .then(responses => {
      // 将结果组织成对象
      const result = {}
      responses.forEach((response, index) => {
        const type = protectionTypes[index]
        result[type] = response
      })
      return result
    })
}

/**
 * 获取初始数据
 * @returns {Promise} 返回初始数据，包括区域和防护类型列表
 */
export function getInitialData() {
  return request({
    url: '/api/protection/initial',
    method: 'get'
  })
} 